﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Cliente
{
    public partial class frmParoRegistrar : Form
    {
        public List<TrupalTVCEF.TBPROPAROS> ListaParos;
        public List<TrupalTVCBE.PROParoBE> ListaParosBE;

        public frmParoRegistrar()
        {
            InitializeComponent();
            ListaParos = new List<TrupalTVCEF.TBPROPAROS>();
            ListaParosBE = new List<TrupalTVCBE.PROParoBE>();
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {

            frmParosDetalle oFrm = new frmParosDetalle();
            if (oFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ListaParos.Add(oFrm.TBPROPAROS);
                ListaParosBE.Add(
                    new TrupalTVCBE.PROParoBE()
                    {
                        Equipo_Descripcion = oFrm.TBMANSUBSISTEMA.TBMANSISTEMA.TBMANEQUIPO.EQUIVC_DESEQUIP,
                        Paro_AvisoAveria = oFrm.TBPROPAROS.PARVC_AVEPAROS,
                        Paro_Descripcion = oFrm.TBPROPAROS.PARCH_OBSPAROS,
                        Paro_Tiempo = oFrm.TBPROPAROS.PARIN_TIEPAROS,
                        SubSistema_Codigo = oFrm.TBMANSUBSISTEMA.SUBCH_CODSUBSI,
                        SubSistema_Descripcion = oFrm.TBMANSUBSISTEMA.SUBVC_DESSUBSI,
                        TipoTrabajo_Codigo = oFrm.TBMANTIPO.TIPCH_CODTIPOT
                    });
                dgvDatos.DataSource = null;
                dgvDatos.AutoGenerateColumns = false;
                dgvDatos.DataSource = ListaParosBE;
                CalcularProgamadas();



            }

            oFrm.Dispose();

        }

        private void frmParoRegistrar_Load(object sender, EventArgs e)
        {
            //dgvDatos.AutoGenerateColumns = false;
            //dgvDatos.DataSource = ListaParosBE;
            
        }

        private void CalcularProgamadas()
        {
            //VARIABLES
            decimal P, NP;

            P = NP =  decimal.Zero;

            ////GET 
            //foreach (var item in ListaParosBE)
            //{
            //    if (item.TipoTrabajo_Codigo.StartsWith("C"))
            //        NP = NP + item.Paro_Tiempo;
            //    if (item.TipoTrabajo_Codigo.StartsWith("P"))
            //        P = P + item.Paro_Tiempo;
            //}
            
            //CALCULOS
            NP = ListaParosBE.FindAll(x => x.TipoTrabajo_Codigo.StartsWith("C")).Sum(y => y.Paro_Tiempo);
            P = ListaParosBE.FindAll(x => x.TipoTrabajo_Codigo.StartsWith("P")).Sum(y => y.Paro_Tiempo);
           
            //SET
            nudP.Value = P;
            nudNP.Value = NP;
            
        }

        private void btnAceptarParos_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
            
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow item in dgvDatos.SelectedRows)
            {
                ListaParos.RemoveAt(item.Index);
                ListaParosBE.RemoveAt(item.Index);
            }
            dgvDatos.DataSource = null;
            dgvDatos.AutoGenerateColumns = false;
            dgvDatos.DataSource = ListaParosBE;

            CalcularProgamadas();
        }

        private void dgvDatos_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            return;
        }

        private void dgvDatos_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            return;
        }

        private void dgvDatos_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
        {
            return;
        }
    }
}
